/* Copyright (c) 2006, 2009, Carl Burch. License information is located in the
 * com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */
 
package com.cburch.logisim.circuit;

import com.cburch.logisim.strings.StringUtil;
import com.cburch.logisim.util.Strings;

public class AnalyzeException extends Exception {
    public static class Circular extends AnalyzeException {
        public Circular() {
            super(Strings.get("analyzeCircularError", Strings.circuitSource));
        }
    }

    public static class Conflict extends AnalyzeException {
        public Conflict() {
            super(Strings.get("analyzeConflictError", Strings.circuitSource));
        }
    }
    
    public static class CannotHandle extends AnalyzeException {
        public CannotHandle(String reason) {
            super(StringUtil.format(Strings.get("analyzeCannotHandleError", Strings.circuitSource), reason));
        }
    }
    
    public AnalyzeException() { }
    
    public AnalyzeException(String message) {
        super(message);
    }
}
